package com.gan.yidademo.haikang.model.request.event;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author gbw
 * @date 2023/10/12
 * 订阅事件请求,其中事件类型列表和事件接收地址是必填的
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class EventsRequest {

    /**
     * 事件类型列表，支持一次订阅多个事件。参考海康[附录D 事件列表]@[软件产品-综合安防管理平台-附录-附录D 事件列表]
     */
    private List<Integer> eventTypes;

    /**
     * 事件接收地址：
     * 样式如下：http://ip:port/eventRcv或者 https://ip:port/eventRcv 不超过1024个字符，
     * 事件接收地址由应用方负责按指定的规范提供，报文格式如附录D.3事件报文格式，事件接收接口不需要认证
     */
    private String eventDest;

    /**
     * 订阅类型 0：订阅原始事件 1：联动事件 2：原始事件和联动事件，不填使用默认值0
     */
    private Integer subType;

    /**
     * 事件等级，0-未配置，1-低，2-中，3-高 此处事件等级是指在事件联动中配置的等级 订阅类型为0时，此参数无效，使用默认值0 在订阅类型为1时，
     * 不填使用默认值[1,2,3] 在订阅类型为2时，不填使用默认值[0,1,2,3] 数组大小不超过32，事件等级大小不超过31
     */
    private List<Integer> eventLvl;

}
